using System.Collections.Generic;
using System.Threading.Tasks;

namespace NP.BPMReportPlatform.RecurringJobs
{
    public interface IEmployeeRecurringJob
    {
        /// <summary>
        /// 同步员工
        /// </summary>
        /// <returns></returns>
        Task SyncEmployeeAsync();

        /// <summary>
        /// 同步集团门户接口的人员信息
        /// </summary>
        /// <returns></returns>
        Task SyncPortalEmployeeAsync();

        /// <summary>
        /// 同步组织信息
        /// </summary>
        /// <returns></returns>
        Task SyncOrgAsync();

        /// <summary>
        /// 定时同步试用期流程
        /// </summary>
        /// <returns></returns>
        Task SyncTrialUserProcessAsync();

        /// <summary>
        /// 同步企业微信用户
        /// </summary>
        /// <returns></returns>
        Task SyncWeChatUserAsync();


        /// <summary>
        /// 同步组织主管信息
        /// </summary>
        /// <returns></returns>
        Task SyncOrgLeaderAsync();

        /// <summary>
        /// 从hana同步公司编码与名称到BPM库
        /// </summary>
        /// <returns></returns>
        Task SyncCompanyAsync();

        /// <summary>
        /// 获取岗位代理数据
        /// </summary>
        /// <returns></returns>
        Task SyncPostRelationAsync();
    }
}